package com.abc.scholarship.service;

import com.abc.scholarship.domain.entity.Menu;
import com.abc.scholarship.domain.entity.Role;
import com.abc.scholarship.domain.vo.resp.MenuQueryVo;
import com.abc.scholarship.domain.vo.resp.RoleMenuVo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author jzw
 * @since 2024-07-02
 */
public interface MenuService extends IService<Menu> {

    /**根据用户Id查询权限列表
     *
     * @param userId
     * @return
     */
    List<Menu> findMenuListByUserId(Long userId);

    /**
     *
     * * 查询菜单列表
     * * @param permissionQueryVo *
     * @return
     * */
    List<Menu> findMenuList(MenuQueryVo menuQueryVo);


    /**
     * 查询上级菜单列表
     * @return
     */
    List<Menu> findParentMenuList();

    /**检查菜单是否有子菜单
     *
     * @param id
     * @return
     */
    boolean hasChildrenOfMenu(Long id);


    /**
     * 查询分配权限树列表
     */

    RoleMenuVo findMenuTree(Long userId, Long roleId);
}
